﻿namespace WayneGameSolution.Inventory
{
    using System;
    using System.Collections.Generic;
    using WayneGameSolution;

    public interface IInventory
    {
        ReturnValue<IDeal> AcceptDeal(Guid DealID);
        ReturnValue<IDeal> AskDeal(IEnumerable<IItemCount> myItemStuff, string toUID, IEnumerable<IItemCount> wantItemCount, string comment);
        ReturnValue<IDeal> Destory(IEnumerable<IItemCount> itemStuff, string comment);
        ReturnValue<IDeal> Give(IEnumerable<IItemCount> itemStuff, string toUID, string comment);
        ReturnValue<IInventory> Refresh();

        Dictionary<Guid, IItemCount> CleanItems { get; }

        Guid DatabaseID { get; }

        Dictionary<Guid, IItemCount> DirtyItems { get; }

        bool IsDirty { get; }

        Dictionary<Guid, IItemCount> Items { get; }

        string UID { get; }
    }
}

